package gestion.negocio;

import java.security.NoSuchAlgorithmException;
import java.util.Collection;

 

 
import gestion.dao.UsuarioDAO;
import gestion.dao.encriptaDAO;
import gestion.modelo.Usuario;

public class GestionUsuario {
	
 
	encriptaDAO encripta = new encriptaDAO();
	
	public Usuario insertar(int perfil_id , int centro_informacion_id , String nombres,
							String paterno, String materno, char sexo, String tipo_doc,
							String numero_doc, String correo, String celular, String clave) throws NoSuchAlgorithmException {
		
		UsuarioDAO dao = new UsuarioDAO();
		Usuario u = new Usuario();
		
		u.setNombres(nombres);
		u.setPaterno(paterno);
		u.setMaterno(materno);
		u.setSexo(sexo);
		u.setTipoDocumento(tipo_doc);
		u.setNumeroDocumento(numero_doc);
		u.setCorreo(correo);
		u.setCelular(celular);
		
		
		String pass = encripta.getHash(clave);
		
		u.setClave(pass);
		
				
		return dao.Insertar(u);
		
		
	}

	
	public Usuario actualiza(Integer persona_id, Integer perfil_id , Integer centro_informacion_id , String nombres,
			String paterno, String materno, char sexo, String tipo_doc,
			String numero_doc, String correo, String celular, String clave) throws NoSuchAlgorithmException {

		UsuarioDAO dao = new UsuarioDAO();
		Usuario u = new Usuario();
		
		u.setIdpersona(persona_id);
		 
		u.setPerfil_idperfil(perfil_id);
		u.setCentro_informacion_idcentro_informacion(centro_informacion_id);
		
		u.setNombres(nombres);
		u.setPaterno(paterno);
		u.setMaterno(materno);
		u.setSexo(sexo);
		u.setTipoDocumento(tipo_doc);
		u.setNumeroDocumento(numero_doc);
		u.setCorreo(correo);
		u.setCelular(celular);
		
		String pass = encripta.getHash(clave);
		u.setClave(pass);
		
		
		return dao.actualizar(u);
		
		
		}
			
 
	
	public Collection<Usuario> listar() throws Exception{
		
		UsuarioDAO dao  = new UsuarioDAO();
		return dao.listar();
	}
	
	
	
	public Usuario buscar(int idpersona) throws Exception {
		UsuarioDAO dao = new UsuarioDAO();
		return dao.buscar(idpersona);
	}
	
	
	public Collection<Usuario> buscarPorNombre(String nombre)
			throws  Exception {
		UsuarioDAO dao = new UsuarioDAO();
		return dao.buscarPorNombre(nombre);
	}

	
	
	public void eliminar(int idPersona) throws Exception{
		UsuarioDAO dao = new UsuarioDAO();
		dao.eliminar(idPersona);
	}
	
	
	
	public Usuario Logeo (String us, String pass) throws NoSuchAlgorithmException{
		Usuario use = new Usuario();
		UsuarioDAO Udao = new UsuarioDAO();
		use.setCorreo(us);
		
		String passHash = encripta.getHash(pass);
		use.setClave(passHash);
		
		
		
		
		
		
	return 	Udao.Logeo(use);
	}
	
	
}
